package com.mdp.workflow.comm.dict;

import org.flowable.engine.runtime.ProcessInstance;

/**
 * BPM 通用常量
 *
 *@author 唛盟开源9哥
 */
public class ProcinstConstants {

    /**
     * 流程实例的变量 - 状态
     *
     * @see ProcessInstance#getProcessVariables()
     */
    public static final String PROCINST_STATUS = "processStatus";
    /**
     * 流程实例的变量 - 发起用户选择的审批人 Map,将按顺序逐一顺序审核
     * 适合1个节点的
     *
     * @see ProcessInstance#getProcessVariables()
     */
    public static final String NEXT_ASSIGNEES = "nextAssignees";

    /**
     * 任务的变量 - 状态
     *
     * @see org.flowable.task.api.Task#getTaskLocalVariables()
     */
    public static final String TASK_STATUS = "taskStatus";

    /**
     * 是否同意，0否，1是
     */
    public static final String AGREE = "agree";

    /**
     * 任务的变量 - 理由
     *
     * 例如说：审批通过、不通过的理由
     *
     * @see org.flowable.task.api.Task#getTaskLocalVariables()
     */
    public static final String REASON = "reason";

    /**
     * 避免多次查询用户表，把启动用户归属部门编号放入上下文
     */
    public static final String START_DEPTID = "startDeptid";

    /**
     * 避免多次查询用户表，把启动用户编号放入上下文
     */
    public static final String START_USERID = "startUserid";

    /**
     * 避免多次查询用户表，把启动用户名字放入上下文
     */
    public static final String START_USERNAME = "startUsername";

    /**
     * 避免多次查询用户表，把当前用户编号放入上下文
     */
    public static final String CURR_USERID = "currUserid";

    /**
     * 避免多次查询用户表，把当前用户名字放入上下文
     */
    public static final String CURR_USERNAME = "currUsername";

    /**
     * 避免多次查询数据库，把主标题放入上下文中
     */
    public static final String MAIN_TITLE = "mainTitle";
    /**
     * 动态表单数据存储属性名称，map类型，放入流程上下文，方便访问，表达式#{formData.xxxx},
     * 再审核成功后推送到目标数据库接口，由前端发起时确定哪个时机进行推送
     */
    public static final String FORM_DATA = "formData";

    /**
     * 审批人、提交人归属机构
     */
    public static final String BRANCH_ID ="branchId";

    /**
     * 审批人、提交人归属部门
     */
    public static final String DEPTID ="deptid";

    /**
     * 为了让策略等后续操作识别到当前属于启动流程阶段，启动流程时把isStart放入临时变量,取值0 否，1是
     */
    public static final String IS_START = "isStart";
}
